From 48c87e3e17c4ab6df5db22af23a5bd9ec0bf89c8 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 11 Feb 2008 09:54:09 +0000 Subject: [PATCH] Set no-show-all flag on the placeholder menu item. 2008-02-11 Emmanuele Bassi * gtk/gtkrecentchoosermenu.c: (gtk_recent_chooser_menu_constructor): Set no-show-all flag on the placeholder menu item. * tests/testrecentchoosermenu.c: (create_recent_chooser_menu): Use gtk_widget_show_all() to test whether the placeholder menu item gets shown. svn path=/trunk/; revision=19509 --- ChangeLog | 10 ++++++++++ gtk/gtklinkbutton.c | 21 ++++++++++++++------- gtk/gtkrecentchoosermenu.c | 1 + tests/testrecentchoosermenu.c | 4 ++-- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index abe907a0ce..f0abdb3a97 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-02-11 Emmanuele Bassi + + * gtk/gtkrecentchoosermenu.c: + (gtk_recent_chooser_menu_constructor): Set no-show-all flag + on the placeholder menu item. + + * tests/testrecentchoosermenu.c: + (create_recent_chooser_menu): Use gtk_widget_show_all() to test + whether the placeholder menu item gets shown. + 2008-02-10 Cody Russell * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder_uri): diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c index 927b9b6f1f..395684ebd1 100644 --- a/gtk/gtklinkbutton.c +++ b/gtk/gtklinkbutton.c @@ -538,8 +538,8 @@ gtk_link_button_new (const gchar *uri) } retval = g_object_new (GTK_TYPE_LINK_BUTTON, - "uri", uri, "label", utf8_uri, + "uri", uri, NULL); g_free (utf8_uri); @@ -590,17 +590,24 @@ void gtk_link_button_set_uri (GtkLinkButton *link_button, const gchar *uri) { + GtkLinkButtonPrivate *priv; + const gchar *label; gchar *tmp; g_return_if_fail (GTK_IS_LINK_BUTTON (link_button)); g_return_if_fail (uri != NULL); - - tmp = link_button->priv->uri; - link_button->priv->uri = g_strdup (uri); - g_free (tmp); - link_button->priv->visited = FALSE; - + priv = link_button->priv; + + g_free (priv->uri); + priv->uri = g_strdup (uri); + + label = gtk_button_get_label (GTK_BUTTON (link_button)); + if (label && *label != '\0' && strcmp (label, uri) != 0) + gtk_widget_set_tooltip_text (GTK_WIDGET (link_button), uri); + + priv->visited = FALSE; + g_object_notify (G_OBJECT (link_button), "uri"); } diff --git a/gtk/gtkrecentchoosermenu.c b/gtk/gtkrecentchoosermenu.c index f72909b5a9..9f90cbc759 100644 --- a/gtk/gtkrecentchoosermenu.c +++ b/gtk/gtkrecentchoosermenu.c @@ -324,6 +324,7 @@ gtk_recent_chooser_menu_constructor (GType type, GINT_TO_POINTER (TRUE)); gtk_menu_shell_insert (GTK_MENU_SHELL (menu), priv->placeholder, 0); + gtk_widget_set_no_show_all (priv->placeholder, TRUE); gtk_widget_show (priv->placeholder); /* (re)populate the menu */ diff --git a/tests/testrecentchoosermenu.c b/tests/testrecentchoosermenu.c index d22ef012e3..751af9f39e 100644 --- a/tests/testrecentchoosermenu.c +++ b/tests/testrecentchoosermenu.c @@ -81,8 +81,6 @@ create_recent_chooser_menu (gint limit) G_CALLBACK (item_activated_cb), NULL); - gtk_widget_show (menu); - menuitem = gtk_separator_menu_item_new (); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); @@ -103,6 +101,8 @@ create_recent_chooser_menu (gint limit) gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); + gtk_widget_show_all (menu); + return menu; } -- 2.30.2